﻿// JScript 文件

/*
系统的控制层 负责界面消息的响应以及处理
控制数据层，所有动作都先经过控制层

*/

function CControl()
{
    
    //数据层
    
    this.m_model = new CModel();
    
    /*
        界面的消息响应函数
        
        比如当用户鼠标点ji大类菜单项目时
        
        OnMessage("mainclassView",CControl.sm_ActionList.clickMainClass,{页码,页大小})
    */
    
    this.OnMessage = function( strSender, strMessageType, object)
    {
    
            this.m_hashfunc[strMessageType](this.m_model,strSender,object);
    }
    
    //消息函数处理委托哈希
    
    this.InitMsgFunction = function()
    {
            this.m_hashfunc={};
            
            this.m_hashfunc[CControl.sm_ActionList.clickMainClass]=this.OnClickMainMenu;
            
            this.m_hashfunc[CControl.sm_ActionList.clickMenuItem]=this.OnClickMenuItem;
            
            this.m_hashfunc[CControl.sm_ActionList.clickMenuItemText]=this.OnClickMenuItemText;
            
            this.m_hashfunc[CControl.sm_ActionList.clickPageItem]=this.OnClickPageItem;
            
            this.m_hashfunc[CControl.sm_ActionList.clickDelItem]=this.OnClickDelItem;
    }
    
    //处理用户点ji事件函数    
    this.OnClickMenuItem = function( model,strSender, object)
    {
        //该函数为委托 委托没有办法引用this
        model.GetSubDirList(object);
    }
    
    //单击左菜单项文字 
    this.OnClickMenuItemText = function( model,strSender, object)
    {
        //该函数为委托 委托没有办法引用this
        model.OnClickMenuItemText(object);
    }
    
    //单击分页
    this.OnClickPageItem = function( model,strSender, object)
    {
        //该函数为委托 委托没有办法引用this
        model.OnClickPageItem(object);
    }
    
    //删除
    this.OnClickDelItem = function( model,strSender, object)
    {
        //该函数为委托 委托没有办法引用this
        model.OnClickDelItem(object);
    }
    
    //初使化数据
    this.Init = function()
    {
        // 初始化消息处理函数
        this.InitMsgFunction();
    
        //调用数据层的初始化载入第一层数据
        this.m_model.Init();
    }
}

/*-------------------------定义静态变量----------------------------*/


//系统所有动作类型

CControl.sm_ActionList={clickMainClass:"OnClickMainMenu", clickMenuItem:"OnClickMenuItem", clickMenuItemText:"OnClickMenuItemText", clickPageItem:"OnClickPageItem", clickDelItem:"OnClickDelItem"};